// 留言 controller

const CommentWeb = require('../model/CommentModel')
const __common = require('./common')

// 更新留言
async function update(_id, username, content) {
  // 只能跟新自己的留言;返回更新之后的最新留言
  return __common(
    CommentWeb.findOneAndUpdate(
      { _id, username },
      { content },
      { new: true }
    )
  )
}

// 删除留言 (只能删除自己的留言)
async function del(_id, username) {
  return await __common(CommentWeb.deleteOne({ _id, username }))
}

// 获取留言列表 (_id 按创建时间逆序排序数据)
async function getList(username = '') {
  const whereOpt = {}
  if (username) whereOpt.username = username
  return await __common(CommentWeb.find(whereOpt).sort({ _id: -1 }))
}

// 创建留言
async function create(content, username) {
  return await __common(CommentWeb.create({ content, username }))
}


module.exports = { create, getList, del, update }
